
export abstract class ShaderBase {
    gl: WebGL2RenderingContext | WebGLRenderingContext;
    u_MvpMatrix: WebGLUniformLocation;
    moduleMatrix: Matrix4 = new Matrix4();
    mvpMatrix: Matrix4 = new Matrix4();
    program?: WebGLProgram;
    /** 是否是通用的缓冲数据 是则每次重新执行一次 */
    isCommonBuffer:boolean = false;
    id:number = -1;
    abstract draw(gl: WebGL2RenderingContext | WebGLRenderingContext):void;
    /** 初始化缓冲区 */
    initBuffer(gl: WebGL2RenderingContext | WebGLRenderingContext):number|void{ return -1}
}